#include "../_public.h"

int main(int argc, char *argv[])
{
	if (argc != 2)
	{
		printf("Using:./demo08 port\nExample:./demo08 5005\n\n");
		return -1;
	}

	CTcpServer TcpServer;

	// 服务端初始化
	if( TcpServer.InitServer(atoi(argv[1])) == false ){
		printf("TcpServer.InitServer(%s) failed.\n", argv[1]);
		return -1;
	}

	// 等待客户端的连接请求
	if( TcpServer.Accept() == false ){
		printf("TcpServer.Accept() failed.\n");
		return -1;
	}
	printf("客户端（%s）已连接\n", TcpServer.GetIP());
	
	char buffer[102400];

	// 第5步：与客户端通讯，接收客户端发过来的报文后，回复ok。
	while (1)
	{
		memset(buffer, 0, sizeof(buffer));
		if ( TcpServer.Read(buffer) == false ) // 接收客户端的请求报文。
		{
			break;
		}
		printf("接收：%s\n", buffer);

		// exit(0);

		strcpy(buffer, "ok");
		if ( TcpServer.Write(buffer) == false ) // 向客户端发送响应结果。
		{
			perror("send");
			break;
		}
		printf("发送：%s\n", buffer);
	}
}
